home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 2109 / 2109.xpi / chrome / febe.jar / content / febeObserver.js < prev    next >
Text File  |  2009-10-13  |  2KB  |  57 lines

  1. // author: Chuck Baker
  2. // contact: febe@customsoftwareconsult.com
  3. // Version 6.3
  4.  
  5. function febeObserver(){
  6.     this.register();
  7. }
  8. febeObserver.prototype = {
  9.     observe: function(subject, topic, data) {
  10.         switch(topic){
  11.             case "buItem":
  12.                 // Progress window never updates ... don't know why
  13.                 //febeUpdateProgressWindow(data);
  14.                 break;
  15.             case "quit-application-requested":
  16.                 
  17.                 if(!febePrefs.getBoolPref("extensions.febe.backupOnShutdown")){break;}    // Backup on shutdown?
  18.                 if(Application.storage.get("shuttingDownAfterProfileRestore", false)){break;}
  19.                 if(!Application.storage.get("backupOnShutdownCompleted", false)){        // See if shutdown backup has already run
  20.                     if(data != "restart"){                                                // Ignore restarts, only backup on shutdown (quit)
  21.                         if(febePrefs.getBoolPref("extensions.febe.backupOnShutdown.prompt")){
  22.                             var tmp = "<style>color: purple; font-weight: bold; font-size: 15px;</style>"+febeMsg[282]+"\n";
  23.                             tmp += "<style>color: black;</style>"+febeMsg[283]+"\n";
  24.                             if(!febeConfirm(tmp)){break;}
  25.                         }//if
  26.                         subject.QueryInterface(Ci.nsISupportsPRBool);
  27.                         subject.data = true;                                            // Abort the shutdown
  28.                         febeInit();                                                        // Perform the backup                        
  29.                         Application.storage.set("backupOnShutdownCompleted", true);        // Set the flag so we don't run it again
  30.                         febePrefs.setBoolPref("extensions.febe.dontaskagain",false);       // Clear dont ask flag
  31.                     }//if
  32.                 }//if
  33.                 break;
  34.             default:
  35.                 //alert("Unknown: "+data);
  36.                 break;
  37.         }//switch
  38.         return true;
  39.     },
  40.     register: function() {
  41.         var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
  42.         observerService.addObserver(this, "buItem", false);
  43.         observerService.addObserver(this, "quit-application-requested", false);
  44.         //observerService.addObserver(this, "quit-application-granted", false);
  45.         return true;
  46.     },
  47.     unregister: function() {
  48.         var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
  49.         observerService.removeObserver(this, "buItem");
  50.         return true;
  51.     },
  52.     notify: function(subject, topic, data){
  53.         var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
  54.         observerService.notifyObservers(subject, topic, data);
  55.         return true;
  56.     }
  57. }